package com.study.hot.di.dagger.dagger2.component;


import com.study.hot.di.dagger.dagger2.DaggerActivity;

/**
 * Dagger生成的类DaggerMyComponent里面会有个Builder类，帮助我们传递参数
 * 我们可以自定义Builder类,需要使用@Component.Builder注解
 */
//@Component(modules = {DaggerActivityModule.class, WomenModule.class})
public interface MyComponent {
    void injectTo(DaggerActivity daggerActivity);

    // 自定义Builder内部类，用于传参
    // @Component.Builder
    interface Builder {
        // 如果Module里含有构造函数，还是需要new WomenModule，为了不new，使用 @BindsInstance 直接传参
        // Builder womenModule(WomenModule womenModule);
        // @BindsInstance
        Builder initMoney(int money);

        MyComponent build();
    }
}
